import json
import os

import pandas as pd

# 获取当前 Python 文件的路径
current_dir = os.path.dirname(os.path.abspath(__file__))

# 指定存放 JSON 文件的文件夹路径
folder_path = os.path.join(current_dir, 'resource', 'list_json')

# 创建一个空的 DataFrame 用于存储数据
dfs = []

# 循环读取文件夹中的 JSON 文件
for filename in os.listdir(folder_path):
    if filename.endswith('.json'):
        try:
            file_path = os.path.join(folder_path, filename)

            # 读取文件中的 JSON 数据，指定编码方式为 'utf-8'
            with open(file_path, 'r', encoding='utf-8') as file:
                json_data = json.load(file)

            # 获取 records 集合
            records = json_data['page']['records']

            # 将 records 集合转换为 DataFrame
            records_df = pd.DataFrame(records)

            # 将当前文件的数据存储到列表中
            dfs.append(records_df)
        except Exception as e:
            print("发生异常:", str(e))

# 将所有 DataFrame 连接在一起
df = pd.concat(dfs, ignore_index=True)

# 指定输出的 Excel 文件路径
output_file = os.path.join(folder_path, '房源列表数据.xlsx')

# 将 DataFrame 写入 Excel 文件
df.to_excel(output_file, index=False)

# 打印输出文件路径
print(f'Saved data to Excel file: {output_file}')
